Artificial intelligence for compliance simplification in cross-border logistics

ABSTRACT

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for artificial intelligence for compliance simplification in cross-border logistics. A computer system and method may be used to infer product information. A computer system may feed a product data record into a machine learning (ML) models to identify a predictive attribute(s) that corresponds with identifying accurate product information. The computer system may feed the product data record and the predictive attribute into a ML model(s) to estimate additional data for the product data record. The computer system may update the product data record with the estimated additional data. The computer system may predict product code data by feeding the updated product data record into an ensemble of ML models, the product code data based on one or more commerce classification code taxonomies.

BACKGROUND

Websites host a large variety of products that can be purchased. Some ofthe products have multiple attributes that may apply to a singleproduct, such as size and color. It would be desirable to be able tocollect information about products and their attributes on the web in anautomated fashion to develop an advantageous dataset containinginformation about the many products in the world.

SUMMARY

Described herein are methods, systems, and apparatus, including computerprograms encoded on computer storage media, for artificial intelligencefor compliance simplification in cross-border logistics.

In general, one innovative aspect of disclosed embodiments includes acomputer system, computer-implemented method, and non-transitorycomputer-readable medium having instructions for inferring informationabout a product. A computer system feeds a product data record into oneor more machine learning (ML) models to identify at least one predictiveattribute that corresponds with identifying accurate productinformation. The computer system feeds the product data record and thepredictive attribute into the one or more machine learning models toestimate additional data for one or more null fields in the product datarecord. The product data records are updated with the estimatedadditional data. The computer system predicts product code data byfeeding the updated product data record into an ensemble of one or moreML models, where the product code data based on one or more commerceclassification code taxonomies.

In general, another innovative aspect of disclosed embodiments includesa computer system, computer-implemented method, and non-transitorycomputer-readable medium having instructions for inferring informationabout a product. A computer system retrieves at least one product dataattribute based on a formatting convention of input data. The computersystem augments the input data with the retrieved product data attributefor a product data record. The computer system ranks historical productdata records in historical shipment information that satisfy asimilarity threshold with the product data record. The product data isfed into one or more machine learning (ML) models to identify at leastone predictive attribute that corresponds with identifying accurateproduct information. The product data record, the ranked historicalproduct data records and the predictive attribute are merged to generatepredictor data. The predictor data is fed into one or more ML models toestimate additional data for one or more null fields in the product datarecord. The product data record is updated with the predicted additionaldata to generate an enriched product data record. The enriched productdata record is fed into an ensemble of one or more ML models to predictproduct code data based on one or more commerce classification codetaxonomies. And the computer system adds the predicted product code datato the enriched product data record.

Further areas of applicability of the present disclosure will becomeapparent from the detailed description, the claims and the drawings. Thedetailed description and specific examples are intended for illustrationonly and are not intended to limit the scope of the disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure will become better understood from the detaileddescription and the drawings, wherein:

FIG. 1A illustrates an example environment in which embodiments of theinvention may operate.

FIGS. 1B-1C illustrate diagrams of example components of one orembodiments.

FIG. 1D illustrates an example dataflow for one or more embodiments.

FIGS. 2A-2E illustrate example methods of one or embodiments.

FIG. 3 is an example diagram of one or more embodiments.

FIG. 4 is an example diagram of one or more embodiments.

FIG. 5 is an example diagram of one or more embodiments.

FIG. 6 is an example diagram of one environment in which someembodiments may operate.

FIGS. 7A and 7B illustrate example methods of one or more embodiments.

FIG. 8 illustrate an example method of one or more embodiments.

FIG. 9 illustrate an example method of one or more embodiments.

FIG. 10 illustrate an example method of one or more embodiments.

FIG. 11 illustrate an example method of one or more embodiments.

FIG. 12 illustrate an example method of one or more embodiments.

FIG. 13 illustrate an example method of one or more embodiments.

DETAILED DESCRIPTION

In this specification, reference is made in detail to specificembodiments of the invention. Some of the embodiments or their aspectsare illustrated in the drawings.

For clarity in explanation, the invention has been described withreference to specific embodiments, however it should be understood thatthe invention is not limited to the described embodiments. On thecontrary, the invention covers alternatives, modifications, andequivalents as may be included within its scope as defined by any patentclaims. The following embodiments of the invention are set forth withoutany loss of generality to, and without imposing limitations on, theclaimed invention. In the following description, specific details areset forth in order to provide a thorough understanding of the presentinvention. The present invention may be practiced without some or all ofthese specific details. In addition, well known features may not havebeen described in detail to avoid unnecessarily obscuring the invention.

In addition, it should be understood that steps of the exemplary methodsset forth in this exemplary patent can be performed in different ordersthan the order presented in this specification. Furthermore, some stepsof the exemplary methods may be performed in parallel rather than beingperformed sequentially. Also, the steps of the exemplary methods may beperformed in a network environment in which some steps are performed bydifferent computers in the networked environment.

Some embodiments are implemented by a computer system. A computer systemmay include a processor, a memory, and a non-transitorycomputer-readable medium. The memory and non-transitory medium may storeinstructions for performing methods and steps described herein.

Disclosed embodiments relate to a method and system for a Predictor thatinfers product information. Product input data may be incomplete withrespect to all the types of information required for a complianttransaction. For example, shipping the same product to differentinternational destinations may require a different set of product dataper different destination, such as multiple, but different, compliantbills of lading. The Predictor utilizes machine learning techniques topredict and estimate product information that is absent from the productinput data.

In one embodiment, the Predictor may feed a product data record into amachine learning (ML) models to identify a predictive attribute(s) thatcorresponds with identifying accurate product information. The Predictormay feed the product data record and the predictive attribute into a MLmodel(s) to estimate additional data for the product data record. ThePredictor may update the product data record with the estimatedadditional data. The Predictor may predict product code data by feedingthe updated product data record into an ensemble of ML models, theproduct code data based on one or more commerce classification codetaxonomies.

In one embodiment, initial input product data may be received by thePredictor that may be incomplete with respect to information that may berequired to ship the product to various destination. For example,shipment of a product to multiple cross-border destinations may requirea different set of product information per destination while the initialinput product data may be minimal. The Predictor performs variousoperations to retrieve, estimate and predict additional information fora product data record that corresponds with the initial input productdata. Various data sources may be accessed by the Predictor to searchfor and identify product attributes. Various machine learning models maybe implemented by the Predictor to identify, estimate and predictadditional product data. The identified product attributes and theestimated and predicted additional product data may be incorporated bythe Predictor into the product data record.

As shown in FIG. 1A, an example system 100 of the Predictor may includean augmentation/enrichment engine module 102, and estimation enginemodule 104, a classification engine module 106, a product data recordmodule 108 and a user interface (U.I.) module 110. The system 100 maycommunicate with a user device 140 to display output, via a userinterface 144 generated by an application engine 142. A machine learningnetwork 130 and one or more databases 120, 122, 124 may further becomponents of the system 100 as well.

The augmentation/enrichment engine module 102 of the system 100 mayperform functionality as illustrated in FIG. 1D, FIGS. 2A-2C, FIG. 3,FIGS. 7A-7B and FIGS. 8-10. As shown in FIG. 1B, theaugmentation/enrichment engine module 102 includes a global identifierresolver module 102-1, a vendor-specific identifier resolver module102-2, and information retriever module 102-3 and a text data enrichermodule 102-4.

The estimation engine module 104 of the system 100 may performfunctionality as illustrated in FIG. 1D, FIGS. 2A-2B, FIGS. 2D-2E, FIG.4 and FIGS. 11-13. As shown in FIG. 1C, the estimate engine module 104may include an historical product data matcher module 104-1, a productdata miner module 104-2 and a data record merger module 104-3.

The classification module 106 of the system 100 may performfunctionality as illustrated in FIG. 1D, FIGS. 2A-2B and FIG. 5.

The product data record module 108 of the system 100 may performfunctionality as illustrated in FIG. 1D, FIGS. 2A-2B, FIGS. 2D-2E andFIGS. 3-5.

The user interface (U.I.) module 110 of the system 100 may perform anyfunctionality with respect to causing display of any output, data andinformation of the system 100 to the user interface 144.

While the databases 120, 122 and 124 are displayed separately, thedatabases and information maintained in a database may be combinedtogether or further separated in a manner the promotes retrieval andstorage efficiency and/or data security.

As shown in FIG. 1D, input product data may be shipment information 200that includes information for shipping a product to one or moredestinations. The shipment information may be received by theaugmentation/enrichment module 102 and output of the module 102 will bemade available for a product data record 108-1 in the product datarecord module 108 as well as the estimation engine module 104 and theclassification engine module 106. Output of the estimation engine module104 will also be made available for the product data record 108-1 andthe classification engine module 106. The product data record 108-1 mayalso be populated with output from the classification engine module 106.In one embodiment, the output of the modules 102, 104, 106 may be mergedand resolved by the product data record module 108 in order to eliminatedata redundancies by selecting output data for the product data record108-1 with a highest confidence score.

As shown in the example method 200 of FIG. 2A, the Predictor feeds aproduct data record into one or more ML models to identify at least onepredictive attribute that corresponds with identifying accurate productinformation (Act 202). For example, the augmentation/enrichment module102 generates an augmented product data record that includes additionalproduct data attributes collected by the module 102 based on inputproduct data, such as incomplete product shipment information. Forexample, product data attributes may include price, dimensions, shippingweight, product code, product identifier, brand, country of origin,shipping destination, technical feature description, etc. The attributesmay also be specific given a category of products, such as gender,material, composition, size, wash instructions, fit, style, or theme forthe product category of jeans. The estimation engine module 104identifies historical shipping information similar to the augmentedproduct data record to sends both to one or more ML models that returnthe predictive attribute(s).

The Predictor feeds the product data record and the predictive attributeinto the one or more ML models to estimate additional data for one ormore null fields in the product data record (Act 204). The estimationengine module 104 combines historical shipping information, theaugmented product data record the predictive attribute(s) into a mergedrecord. The estimation engine module 104 feeds the merged record to theone or more ML models to identify ML parameters that represent datafields in the augmented product data record that must be filled in orderto generate compliant shipping information. The one or more ML modelsfurther provide estimated data values for the output ML parameters. ThePredictor updates the product data record with the estimated additionaldata (Act 206). For example, the estimation engine module 104 generatesan enriched product data record by inserting the estimated data valuesfor the ML parameter into the augmented product data record.

The Predictor predicts product code data by feeding the updated productdata record into an ensemble of one or more ML models (Act 208). Forexample, the classification engine module 106 receives the enrichedproduct data record as input and feeds the enriched product data recordinto an ensemble of ML models. The ensemble of ML model generates apredicted product code that is formatted according to an establishedclassification code taxonomy.

As shown in the example method 210 of FIG. 2B, the Predictor retrieves aproduct data attribute(s) based on a formatting convention of the inputdata (Act 212). For example, various formatting conventions for productidentifications are pre-defined and well known, such as UniversalProduct Codes (UPC), European Article Numbers (EAN) and Amazon StandardIdentification Number (ASIN). By identifying a portion of the input datathat is structured according to a formatting convention, the Predictormay determine which data sources to search for more product dataattributes or may perform a search based on the portion of the inputdata that is structured according to a formatting convention. ThePredictor augments the input data with the retrieved product dataattributes for a product data record that corresponds with a productdescribed by the input data (Act 214).

Act 216 includes parallel acts 216-1 and 216-2. However, the acts 216-1,216-2 may be performed sequentially. The Predictor ranks historicalproduct data records in historical shipment information that satisfy asimilarity threshold with the product data record (Act 216-1). Forexample, the historical product data records may have details aboutpreviously shipped products, such as price, dimensions, shipping weight,country of origin and destination, etc. The Predictor selects historicalproduct data records that meet a threshold for an amount of product datathat matches the augmented product data record, thereby increasing alikelihood that a historical product data record may include productinformation that was required for a compliant shipping of the sameproduct. Similarity scores are calculated for the historical productdata records that satisfy the threshold and the historical product datarecords are ranked accordingly. Similarity scores between two productscan be calculated using a variety of techniques. One approach is tocount the number of attributes identical between the two (or more)products. For each identical attribute, the total of number possiblevalues is summed up to represent the similarity score for thatattribute. For example, the attribute “material” can have 100 differentpossible values. Two products having an identical value of “material:Cotton”, will contribute a value of 100 towards the similarity score, toindicate a strong signal of similarity. By this method, an attributewith lower number of possible values, will contribute lesser towards thesimilarity. The attribute-level similarity scores can be summed andnormalized across products by weighting them against a curatedimportance list of each attribute to that product. Another approach tocalculate the similarity score between two products is to use a machinelearning model(s) to convert each product to a vectorized representationof weights. By representing each product as a vector, the dot productbetween the products can be used as a similarity score between them—alsoreferred to as the cosine similarity score between two products. Anumber of vectorization techniques can be used for this approach,including popular deep learning vectorization methods such as Word2Vec,GloVe or fastText.

The Predictor feeds the product data record into one or more machinelearning (ML) models to identify at least one predictive attribute thatcorresponds with identifying accurate product information (Act 216-2).For example, the Predictor may feed the augmented product data recordinto a machine learning model trained for named entity recognition(“NER”) to isolate important attributes. That is, if the product datarecord has the name of the product, the NER model may isolate (orselect) a machine learning variable that maps to product names as avariable that is highly likely to facilitate one or more ML models inpredicting accurate product information. In contrast, if the productdata record has no product name, but does have product weight, the NERmodel may not isolate a machine learning variable that maps to productweights as a variable, unless the product has an exceptionally uniqueweight and that weight value is present in multiple historical productdata records.

The Predictor merges the product data record, the ranked historicalproduct data records and the predictive attribute to generate predictordata (Act 218). The Predictor creates a merged record that is formattedsuch that the data in the merged record's field aligns with one or moreML parameters. During the merging process, the original product datarecord is designed as the primary value for each attribute of theproduct. The attributes from the ranked historical product data recordsare appended as a respective secondary value for each attribute. Eachproduct ends up with multiple values against each of its attributes, asper the attribute availability in the historical product data records.Such formatting requires the Predictor add metadata in the mergedrecord. For example, metadata may describe the origin (e.g. input data,augmented data, historical data) of a value in a data field. Aconfidence score(s) for data in the merged record may be included aswell. One embodiment may assign confidence scores is to calculate asimilarity score between the product data record and the historicalproduct data record and use the calculated similarity score as theconfidence score for each secondary attribute value. Another embodimentmay use to the number of times a historical product data record has beenseen as a measure of confidence.

The Predictor feeds the predictor data into the one or more ML models toestimate additional data for one or more null fields in the product datarecord (Act 220). For example, the Predictor feeds a merged record intoone or more ML models to estimate data about the product that should bein the product data record given all the various types of data in themerged record. For example, if the merged record has formatted databased on the product's brand and weight, the one or more ML models mayestimate additional product specifications (e.g. height, dimensions). Aclassification model may estimate categorial parameters of the product,such as country of origin, if the product data record lacks suchinformation. A logistic regression model may also estimate continuousparameters, such as weight, if the product data record lacks suchinformation. The Predictor updates the product data record with thepredicted additional data to generate an enriched product data record(Act 222).

The Predictor feeds the enriched product data record into an ensemble ofthe one or more ML models to predict a product code data for the product(Act 224). A product code may be based on one or more commerceclassification code taxonomies developed by governments andinternational agencies per regulatory requirements, such as HarmonizedSystem (HS) code, Harmonized Tariff System (HTS) code, Export ControlClassification Number (ECCN) code, Schedule B code, or United NationsStandard Products and Services Code (UNSPSC). The ensemble of ML modelsfor predicting the product code may include multiple machine learningtechniques, such as: logistic regression, random forests, gradientboosting, as well as modern deep learning techniques, such asconvolutional neural networks (CNNs), bi-directional long-short termmemory (LSTM) networks and transformer networks. The Predictor adds thepredicted product code data to the enriched product data record (Act226).

An example method 212-1 for retrieving product data attribute(s) basedon a formatting convention of input data in shown in FIG. 2C. ThePredictor determines whether the format of an identifier portion of theinput data corresponds to a global, vendor-specific orlocation-specification identification convention (Act 212-1-1). Forexample, the Predictor determines whether the input data, or part of theinput data, is formatted according to a known product identificationsystem that is commonly known. A global convention may be UniversalProduct Codes (UPCs), European Article Numbers (EANs), InternationalStandard Book Number or Global Trade Item Numbers (GTINs). Avendor-specific convention may be Manufacturer Part Numbers (MPN),Stock-Keeping Units (SKUs) or Amazon Standard Identification Number(ASIN). A location-specific convention may be a Uniform Resource Locator(URL).

The Predictor retrieves relevant product data from a data source(s) thatcorresponds with the determined format (Act 212-1-2). If a globalconvention has been detected in the input data, the Predictor accessesvarious types of databases to perform searches with the input data sincesearch query that is a product's UPC, for example, is likely to returnsearch results that provide relevant product data that can be added tothe product data record. If a vendor-specific convention has beendetected in the input data, the Predictor accesses various types ofdatabases (external, local, proprietary) to perform searches with theinput data since search query that is a product's SKU, for example, islikely to return search results that provide relevant product data thatcan be added to the product data record. If a location-specificconvention has been detected in the input data, the Predictor accessesthe URL to crawl, parse, identify, extract and format productinformation from a webpage(s).

The Predictor may determine that the input data does not conform to anytype of formatting convention. In such a case, the Predictor identifiesrelevant product data based on uncategorized user-generated text ifthere is not determine format (Act 212-1-3). For example, when the inputdata is user-generated text input, it usually contains some informationto directly describe the product being shipped. Depending on theavailability and specificity of the text input provided, theuser-generated text input may be sufficient to completely describe theproduct and thereby can be used to populate the product data record. Inanother example, if the user-generated text input may include the words“ . . . mobile phone . . . ” and part of a product barcode. ThePredictor can use “mobile phone” and the incomplete barcode to findinformation online or data values from historical shipment records ofmobile phones.

An example method 216-1-1 for ranking historical product data records isshown in FIG. 2D, generating at least one product identifier based onthe augmented product data record (Act 216-1-1-1). A variety oftechniques may be employed by one or more embodiments to isolate productidentifiers from the augment product record. An embodiment may store atable of common identifier paradigms and their associated patterns andthen compare pieces of text from the augmented product data recordagainst each pattern. For example, one or more 13-digit numeric stringsin the product record are possible EANs (international article number),which can be confirmed by verifying the checksum digit coded in the EANstandard. Similarly, UPCs, GTINs (global trade identification number)and ASINs (amazon standard identification number) may also be formulatedas specific regular expressions (regexes) which can be pattern matchedagainst strings from the augmented product data record. To beginestimation of additional product data for shipment of the product, thePredictor accesses historical shipment information to identifyhistorical product data records that include one or more fields thatmatch the product identifier (Act 216-1-1-2). For example, the Predictorcompares data fields in historical product data records (“historicalrecords”) in historical shipment information to identify historicalrecords with data that is similar to the augmented product data record.The Predictor calculates a respective similarity score for each identifyhistorical product data record with respect to the augmented productdata record (Act 216-1-1-3). The Predictor ranked the identifiedhistorical product data records according to the respective similarityscores. (Act 216-1-1-4). The Predictor may also feed the augmentedproduct data record into an ML model trained for named entityrecognition (NER) to identify a predictive attribute(s) that correspondswith identifying accurate product information.

An example method 218-1 for merging a product data record, rankedhistorical product data records and a predictive attribute(s) is shownin FIG. 2E. The Predictor generates a merged record according to ameaningful and usable format for various ML models to estimateadditional product data. The Predictor creates the merged record bycombining the augmented product data record, the ranked historicalproduct data records and the predictive attribute (Act 218-1-1). ThePredictor formats the merged record to correspond with one or moredefined ML input parameters (Act 218-1-2). An example of an ML inputparameter may be a respective source metadata for the data in one ormore fields (field data) of the merged record. The source metadataindicates the source of a corresponding data value (e.g. input data,historical data, online data, database data, etc.). An example of an MLinput parameter may be a respective confidence score corresponding to anaccuracy of a data value in the merged record. Another ML inputparameter may be a record similarity score based on a comparison of themerged record and the input data. The Predictor feeds the formattedmerged record into various ML models, which may return output thatincludes one or more ML parameters identified as being required forcompliance as well as estimated product data for those ML parameters. Inone embodiment, the ML parameters and estimated product data may replacenull data fields in the product data record.

As shown in FIG. 3, the global identifier resolver module 102-1identifies and disambiguates a list of global identifiers in the productinput data 300 and associates the identifiers with a correspondingformatting convention. If a formatting convention is not identified foran identifier, the global identifier resolver module 102-1 may indicatethat identifier to be invalid (e.g. spam) or the product input data 300may be handled by the vendor-specific identifier resolver module(“vendor module”) 102-2, the information retriever module (“retrievermodule”) 102-3, and/or the text data enricher module (“enricher module”)102-4.

The global identifier resolver module (“global module”) 102-1 uses thedetected formatting convention and the identifier to access locallymaintained proprietary databases. If matching information is found inthe databases, the global module 102-1 determines whether the matchinginformation is itself available product data. If so, the global module102-1 augments the product data record 108-1 with the available productdata. If the matching information is, instead, an indication of a datasource (such as a URL), the global identifier resolver module 102 maythen send the matching information to the information retriever module102-3.

If no matching information is found by the global module 102-1 in thelocally maintained proprietary databases, the global module 102-1 maytrigger a failover lookup by accessing one or more third party databasesthat store information in relation to data similar to the identifier. Ifmatching information is found, it will be sent to the product datarecord 108-1 (along with the product input data 300) if it is directlyavailable product data, it will be sent to the information retrievermodule 102-3 if it also is an indication of a data source. If nomatching information is found by the failover lookup of the third-partydatabases, the global module 102-1 may send the product input data 300,the identifier and the determined formatting convention to the enrichermodule 102-4.

The vendor module 102-2 identifies and disambiguates a list of vendorspecific identifiers in the product input data 300 and associates theidentifiers with one or more corresponding sources, such as amanufacturer, online marketplace or a seller website. If a source is notidentified for an identifier, the vendor module 102-2 may discard thatidentifier. If a source is identified, the vendor module 102-2 accessesthe online location described by the identified source. If the onlinelocation is accessible, the vendor module 102-2 mines and queries theonline location based on the identifier. If product data is directlyavailable as a result of the mining and querying, the vendor module102-2 sends the product data and the product input data 300 to theproduct data record 108-1.

If the source is not accessible, the vendor module 102-2 may query oneor more web search engines based on the source and the identifier. Ifmatching information is returned in search result and is directlyavailable product data, then the vendor module 102-2 sends the productdata to the product data record 108-1. If no product data is availableby way of the search results, the vendor module 102-2 sends the sourceand the identifier to the retriever module 102-3. If no matchinginformation is returned by the search, the vendor module 102-2 maydiscard the identifier and the identified source.

The retriever module 102-3 may receive information, either from theproduct input data 300 or other modules 102-1, 102-2, that indicates adata source of information where additional product information may beavailable. The retriever module 102-3 accesses the data source andperforms context extraction as described by U.S. patent application Ser.No. 16/288,059. For example, the retriever module 102-3 may crawl awebsite to identify product pages. The product pages may be scraped bythe retriever module 102-3 to obtain product data. Moreover, one or moreinteractive elements on the product pages may be automatically activatedto be able to identify the various attribute variations available forthe product, such as size and color. The products, attributes, andattribute values may be extracted and normalized and stored. Suchextraction by the retriever module 102-3 may be based, for example, onmeta-tags, DOM structure, computer vision. If the extraction returnsproduct data, the retriever module 102-3 sends the extracted productdata to the product data record 108-1 along with the product input data300.

The enricher module 102-4 may determine that the product input data 300is uncategorized, user-generate text, and thereby was not handled by theother modules 102-1, 102-2, 102-3. For example, the product input data300 may be partial, unstructured or an incomplete text description ofthe product. The enricher module 102-4 may send the product input data's300 text as-is to the machine learning network 130 to train one or moremachine learning models or to receive machine learning output thatestimates and predicts product information. In addition, the enrichermodule 102-4 may parse the product input data 300 and identify tags(i.e. text portions that represent product information). If the tagsdescribe a data source, the enricher module 102-4 sends the tags to theretriever module 102-3. If the tags describe product identifiers, theenricher module 102-4 sends the tags to the global module 102-1 and thevendor module 102-2.

As shown in FIG. 4, the estimation engine module 104 receives theproduct data record 108-1, which may be an augmented product data recordbased on the input product data 300 and output of theaugmentation/enrichment module 102. The output of theaugmentation/enrichment module 102 that populates the augmented productdata record may be one or more product attributes based on product datareturned from the global module 102-1, the vendor module 102-2, theretriever module 102-3 and the enricher module 102-4.

The historical product data matcher module (“historical module”) 104-1isolates product identifiers present in the product data record 108-1.The historical module 104-1 then accesses a database 124 of historicalproduct data to identify previous shipment records. The historicalmodule 104-1 searches through the identified shipment records to extractone or more historical product data records that include a thresholdamount of product information that matches the product data record108-1. The historical module 104-1 calculates a similarity score foreach extracted historical product data records and generates a list ofthe historical product data records ranked according to the respectivesimilarity scores. The historical module 104-1 sends the rankedhistorical product data records to the data record merger module(“merger module”) 104-3.

The product data miner module (“miner module”) 104-2 may execute inparallel with the historical module 104-1. The miner module 104-2 minesthe product data record 108-1 for one or more predictive attributes thatcorrespond with identifying accurate product information. To do so, theminer module 104-2 sends at least a portion of the product data record108-1 to one or more machine learning models in the machine learningnetwork 130. The machine learning models return a predictiveattribute(s) and the miner module 104-2 sends the predictiveattribute(s) to the merger module 104-3.

The merger module 104-3 receives the product data record 108-1, theranked historical product data records and the predictive attribute(s).A comparison of data fields across the ranked historical product datarecords and the product data record 108-1 is performed to based on amerger of the historical product records with the actual input productdata record. For data fields common between the product data record108-1 and each respective historical product data records, the mergermodule 104-3 prioritizes use of the data fields from the input productdata record. For data fields present only in the historical product datarecords, the merger module 104-3 compares the values available acrossthe various historical product data records and picks a value availablefrom the highest ranked historical product data record. Picking theavailable value from the highest ranked historical product data recordensures that one value is prioritized when conflicting data field valuesmight be amongst different historical product data records. The mergermodule 104-3 generates a merged record based on the product data record108-1, the ranked historical product data records and the predictiveattribute(s), such that the merged record is formatted according tomachine learning parameters so that the merged record can be used asinput to one or more ML models. Such formatting may include addingmetadata about each field in the product data record 108-1, such as dataindicating the data source of the value in the corresponding field. Theformatting may include a confidence score for data in one or morefields.

The merger module 104-3 feeds the formatted merged record into one ormore ML predictor models 130-1 in the machine learning network 130.Output from the ML predictor models 130-1 may include one or morerequired ML parameters and estimated data values for the output MLparameters. The ML parameters may map to null data fields in the dataproduct record 108-1 which must be populated in order to form compliantshipping information for the product. The merger module 104-3 adds theone or more required ML parameters and estimated data values to theproduct data record 108-1 to create an enriched product data record108-1-1.

As shown in FIG. 5, the classification engine module 106 takes theenriched product data record 108-1-1 as input. The role of theclassification engine module 106 is to augment the enriched product datarecord 108-1-1 with specific classification information that may berequired for a compliant transaction. The classification information maybe a product code that is on a classification taxonomy, including thosesuch as the Harmonized System (HS) code, Harmonized Tariff System (HTS)code, Export Control Classification Number (ECCN) code, Schedule B code,or United Nations Standard Products and Services Code (UNSPSC). Each ofthese classification taxonomies are developed and maintained by variousgovernments and international agencies as per their regulatoryrequirements.

Each of these classification taxonomies are dependent on various piecesof product information, such as material, composition, form, utility,function, as well as a number of other parameters. These parameters maybe in the enriched product data record 108-1-1, which is sent to anensemble 130-2 of ML classifier models which deploy a number ofartificial intelligence techniques and algorithms. These includetraditional machine learning techniques such as logistic regression,random forests, gradient boosting, as well as modern deep learningtechniques, such as convolutional neural networks (CNNs), bi-directionallong-short term memory (LSTM) networks and transformer networks. Anensemble model consisting of various individual techniques can also beused to achieve better performance and trade-offs against precision andrecall of assigned codes. The ensemble returns a predicted product codeand the Predictor updates the enriched product data record 108-1-2.

In addition, the classification engine module 106 may include feedbackloop. Selectively sampled input product data records, received by theclassification engine module 106, are forwarded for human manual QAclassification while also being sent to the ML ensemble 130-2. A humanQA classifier thereby provides an independent result by attempting topredict the product code based on a given sampled product data records.This allows for a fair evaluation system to be put in place. Bycomparing the results of the human classifier and the ML ensemble 130-2,any detected errors by the ML ensemble 130-2 can be quantified and usedto iteratively improve ML ensemble 130-2 performance through methodssuch as reinforcement learning. The whole feedback loop ensures that theML ensemble 130-2 can be kept relevant over time and responsive tovariations in classification performance.

Embodiments may be used on a wide variety of computing devices inaccordance with the definition of computer and computer system earlierin this patent. Mobile devices such as cellular phones, smart phones,PDAs, and tablets may implement the functionality described in thispatent.

FIG. 6 illustrates an example machine of a computer system within whicha set of instructions, for causing the machine to perform any one ormore of the methodologies discussed herein, may be executed. Inalternative implementations, the machine may be connected (e.g.,networked) to other machines in a LAN, an intranet, an extranet, and/orthe Internet. The machine may operate in the capacity of a server or aclient machine in client-server network environment, as a peer machinein a peer-to-peer (or distributed) network environment, or as a serveror a client machine in a cloud computing infrastructure or environment.

The machine may be a personal computer (PC), a tablet PC, a set-top box(STB), a Personal Digital Assistant (PDA), a cellular telephone, a webappliance, a server, a network router, a switch or bridge, or anymachine capable of executing a set of instructions (sequential orotherwise) that specify actions to be taken by that machine. Further,while a single machine is illustrated, the term “machine” shall also betaken to include any collection of machines that individually or jointlyexecute a set (or multiple sets) of instructions to perform any one ormore of the methodologies discussed herein.

The example computer system 600 includes a processing device 602, a mainmemory 604 (e.g., read-only memory (ROM), flash memory, dynamic randomaccess memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM(RDRAM), etc.), a static memory 606 (e.g., flash memory, static randomaccess memory (SRAM), etc.), and a data storage device 618, whichcommunicate with each other via a bus 630.

Processing device 602 represents one or more general-purpose processingdevices such as a microprocessor, a central processing unit, or thelike. More particularly, the processing device may be complexinstruction set computing (CISC) microprocessor, reduced instruction setcomputing (RISC) microprocessor, very long instruction word (VLIW)microprocessor, or processor implementing other instruction sets, orprocessors implementing a combination of instruction sets. Processingdevice 602 may also be one or more special-purpose processing devicessuch as an application specific integrated circuit (ASIC), a fieldprogrammable gate array (FPGA), a digital signal processor (DSP),network processor, or the like. The processing device 602 is configuredto execute instructions 626 for performing the operations and stepsdiscussed herein.

The computer system 600 may further include a network interface device608 to communicate over the network 620. The computer system 600 alsomay include a video display unit 610 (e.g., a liquid crystal display(LCD) or a cathode ray tube (CRT)), an alphanumeric input device 612(e.g., a keyboard), a cursor control device 614 (e.g., a mouse) or aninput touch device, a graphics processing unit 622, a signal generationdevice 616 (e.g., a speaker), graphics processing unit 622, videoprocessing unit 628, and audio processing unit 632.

The data storage device 618 may include a machine-readable storagemedium 624 (also known as a computer-readable medium) on which is storedone or more sets of instructions or software 626 embodying any one ormore of the methodologies or functions described herein. Theinstructions 626 may also reside, completely or at least partially,within the main memory 604 and/or within the processing device 602during execution thereof by the computer system 600, the main memory 604and the processing device 602 also constituting machine-readable storagemedia.

In one implementation, the instructions 626 include instructions toimplement functionality corresponding to the components of a device toperform the disclosure herein. While the machine-readable storage medium624 is shown in an example implementation to be a single medium, theterm “machine-readable storage medium” should be taken to include asingle medium or multiple media (e.g., a centralized or distributeddatabase, and/or associated caches and servers) that store the one ormore sets of instructions. The term “machine-readable storage medium”shall also be taken to include any medium that is capable of storing orencoding a set of instructions for execution by the machine and thatcause the machine to perform any one or more of the methodologies of thepresent disclosure. The term “machine-readable storage medium” shallaccordingly be taken to include, but not be limited to, solid-statememories, optical media and magnetic media.

In example method 700, as shown in FIG. 7A, the global identifierresolver module 102-1 identifies and disambiguates a list of globalidentifiers in the product input data 300 (Act 702). The globalidentifier resolver module 102-1 associates each respective identifierwith a corresponding formatting convention (Act 704). The globalidentifier resolver module 102-1 determines whether a convention(s) hasbeen identified (Act 706). If a convention(s) has not been identified,the global identifier resolver module 102-1 indicates that therespective identifier is spam and, for example, can be discarded orignored (Act 708). If a convention(s) has been identified, the globalidentifier resolver module 102-1 uses the detected formatting conventionand the respective identifier to lookup product information in one ormore locally maintained proprietary databases (Act 710). The globalidentifier resolver module 102-1 determines whether there is productinformation that matches with the detected formatting convention and therespective identifier (Act 712). If a match has been found, the globalidentifier resolver module 102-1 performs additional steps as shown inFIG. 7B. However, if a match has not been found, the global identifierresolver module 102-1 performs one or more free-text online searches inorder to obtain one or more search results with returned productinformation that matches with the detected convention and the respectiveidentifier (Act 714). The global identifier resolver module 102-1determines whether there is product information returned in the searchresults that matches with the detected formatting convention and therespective identifier (Act 716). If no match is found in the searchresults, then the global identifier resolver module 102-1 indicates thatthe respective identifier is spam and, for example, can be discarded orignored (Act 722). However, if a match has been found in the searchresults, the global identifier resolver module 102-1 performs additionalsteps as shown in FIG. 7B.

Continuing from FIG. 7A, as shown in FIG. 7B, the global identifierresolver module 102-1 determines whether product data is directlyavailable in the matching product information in proprietary databasesor in the received search results (Act 724). If product data isavailable, the global identifier resolver module 102-1 augments theproduct data record 108-1 with the product data (Act 726). However, ifproduct data is not available in the matching product information, theglobal identifier resolver module 102-1 identifies one or more onlinelocations (URLs) based on the matching product information and forwardsthe identified online location(s) to the information retriever module102-3.

In example method 800, as shown in FIG. 8, the vendor-specificidentifier resolver module 102-2 identifies and disambiguatesvendor-specific identifiers provided in the product input data 300 (Act802). The vendor-specific identifier resolver module 102-2 associateseach vendor-specific identifier with a corresponding source, such as,for example, a manufacture, marketplace or seller website (Act 804). Ifa source cannot be identified for a respective vendor-specificidentifier (Act 806), the vendor-specific identifier resolver module102-2 discards the respective vendor-specific identifier. (Act 808).However, if a source can be identified for a respective vendor-specificidentifier (Act 806), the vendor-specific identifier resolver module102-2 finds an online location(s) (such as a website) to obtainadditional information from the identified source (Act 810). If awebsite is found (Act 812), the vendor-specific identifier resolvermodule 102-2 accesses, mines and queries the website for additionalproduct information using the respective vendor-specific identifier (Act814). If product data is available from the website (Act 818), thevendor-specific identifier resolver module 102-2 augments the productdata record 108-1 with the available product data (Act 822).

If a website is not found (Act 812) or if product data is not availablefrom an identified website (Act 818), the vendor-specific identifierresolver module 102-2 submits queries based on the identified source andthe respective vendor-specific identifier to one or more online searchengines (Act 816). The vendor-specific identifier resolver module 102-2determines whether there is product information returned in the searchresults that matches the identified source and the respectivevendor-specific identifier (Act 820). If there is no match, thevendor-specific identifier resolver module 102-2 discards the respectivevendor-specific identifier (Act 828). However, if product data isavailable in a matching search result(s) (Act 824), the vendor-specificidentifier resolver module 102-2 enriches (or augments) the product datarecord 108-1 with the available product data (Act 822). However, ifproduct data is not available in the matching search results (Act 824),the vendor-specific identifier resolver module 102-2 identifies one ormore online locations (URLs) based on the matching search results (Act826) and forwards the identified online location(s) to the informationretriever module 102-3 (Act 830).

In example method 900, as shown in FIG. 9, the information retrievermodule 102-3 receives one or more identified online locations (Act 902)which are passed to a content extraction system as described by U.S.patent application Ser. No. 16/288,059 (Act 904). The informationretriever module 102-3 receives formatted, extracted product data fromthe content extraction system and generates a product data record 108-1with the received formatted, extracted product data (Act 906).

In example method 1000, as shown in FIG. 10, the text data enrichermodule 102-4 accesses partial, unstructured text (or incomplete textualproduct description) in the product input data 300 (Act 1002). The textdata enricher module 102-4 sends the unstructured text to the machinelearning network 130 in order to receive machine learning output thatincludes estimated/predicted product information (Act 1004). The textdata enricher module 102-4 also identifies one or more tags in theunstructured text of the product input data 300 that describe variousproduct aspects (Act 1006). If one or more location specifiers areavailable in an identified tag (Act 1008), the text data enricher module102-4 passes the locations specifiers to the information retrievermodule 102-3 which returns extracted product data (Act 1012). Iflocation specifiers are not available in the identified tags (Act 1008),no further steps are performed by the text data enricher module 102-4with respect to the particular, identified tag(s). If one or moreproduct identifiers are available in an identified tag(s) (Act 1010),the text data enricher module 102-4 passes the identifiers to theresolver modules 102-1, 102-2 which return extracted product data (Act1016). If identifiers are not available in the identified tags (Act1010), no further steps are performed by the text data enricher module102-4 with respect to the particular, identified tag(s). The text dataenricher module 102-4 merges received extracted product data withpredicted product information from the machine learning network 130 (Act1018) and generates a product data record with merged data (Act 1020).

In example method 1100, as shown in FIG. 11, the historical product datamatcher module 104-1 accesses the product data record 108-1 (Act 1102)and prior shipment information (Act 1104) in the historical data 124.The historical product data matcher module 104-1 isolates one or moreidentifiers from the product data record for use in retrieving similarproduct data in the prior shipment information, as described in one ormore historical product data records in the historical data 124 (Act1108). The historical product data matcher module 104-1 compares theproduct data record 108-1 with the historical product data records inorder to calculate corresponding similarity scores (Act 1110). Thehistorical product data matcher module 104-1 ranks the historicalproduct data records according to the similarity scores (Act 1112) andpasses the ranking to the data record merger module 104-3.

In example method 1200, as shown in FIG. 12, the product data minermodule 104-2 accesses the product data record 108-1 (Act 1202), andmines the product data record 108-1 for attribute information viaexecution of one or more machine learning entity recognition models130-3 provided by the machine learning network 130 (Act 1204). Theproduct data miner module 104-2 sends the attribute informationpredicted in output from the machine learning entity recognition models130-3 to the data record merger module 104-3 (Act 1206).

In example method 1300, as shown in FIG. 13, the data record mergermodule 104-3 receives the ranking of historical product data recordsfrom the historical product data matcher module 104-1 and the predictedattribute information from the product data miner module 104-2. The datarecord merger module 104-3 compares one or more data fields across theranked historical product data records and the product data record 108-1(Act 1302). The product data miner module 104-2 isolates one or moredata fields required for downstream machine learning models (Act 1304)and adds metadata information about each isolated field into the productdata record 108-1 to generate a merged record (Act 1306). The productdata miner module 104-2 formats the merged record into a format suitablefor processing by one or more machine learning models (Act 1308). Outputfrom machine learning processing of the merged record may furtherinclude one or more required ML parameters and estimated data values tobe added to the product data record 108-1 in order to generate anenriched product data record 108-1-1 to input for the classificationengine module 106.

Some portions of the preceding detailed descriptions have been presentedin terms of algorithms and symbolic representations of operations ondata bits within a computer memory. These algorithmic descriptions andrepresentations are the ways used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of operations leading to adesired result. The operations are those requiring physicalmanipulations of physical quantities. Usually, though not necessarily,these quantities take the form of electrical or magnetic signals capableof being stored, combined, compared, and otherwise manipulated. It hasproven convenient at times, principally for reasons of common usage, torefer to these signals as bits, values, elements, symbols, characters,terms, numbers, or the like.

In general, the terms “engine” and “module”, as used herein, refer tologic embodied in hardware or firmware, or to a collection of softwareinstructions, possibly having entry and exit points, written in aprogramming language, such as, for example, Java, Lua, C or C++. Asoftware module may be compiled and linked into an executable program,installed in a dynamic link library, or may be written in an interpretedprogramming language such as, for example, BASIC, Perl, or Python. Itwill be appreciated that software modules may be callable from othermodules or from themselves, and/or may be invoked in response todetected events or interrupts. Software modules configured for executionon computing devices may be provided on one or more computer readablemedia, such as compact discs, digital video discs, flash drives, or anyother tangible media. Such software code may be stored, partially orfully, on a memory device of the executing computing device. Softwareinstructions may be embedded in firmware, such as an EPROM. It will befurther appreciated that hardware modules may be comprised of connectedlogic units, such as gates and flip-flops, and/or may be comprised ofprogrammable units, such as programmable gate arrays or processors. Themodules described herein are preferably implemented as software modules,but may be represented in hardware or firmware. Generally, the modulesdescribed herein refer to logical modules that may be combined withother modules or divided into sub-modules despite their physicalorganization or storage

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the above discussion, itis appreciated that throughout the description, discussions utilizingterms such as “identifying” or “determining” or “executing” or“performing” or “collecting” or “creating” or “sending” or the like,refer to the action and processes of a computer system, or similarelectronic computing device, that manipulates and transforms datarepresented as physical (electronic) quantities within the computersystem's registers and memories into other data similarly represented asphysical quantities within the computer system memories or registers orother such information storage devices.

The present disclosure also relates to an apparatus for performing theoperations herein. This apparatus may be specially constructed for theintended purposes, or it may comprise a general purpose computerselectively activated or reconfigured by a computer program stored inthe computer. Such a computer program may be stored in a computerreadable storage medium, such as, but not limited to, any type of diskincluding floppy disks, optical disks, CD-ROMs, and magnetic-opticaldisks, read-only memories (ROMs), random access memories (RAMs), EPROMs,EEPROMs, magnetic or optical cards, or any type of media suitable forstoring electronic instructions, each coupled to a computer system bus.

Various general purpose systems may be used with programs in accordancewith the teachings herein, or it may prove convenient to construct amore specialized apparatus to perform the method. The structure for avariety of these systems will appear as set forth in the descriptionabove. In addition, the present disclosure is not described withreference to any particular programming language. It will be appreciatedthat a variety of programming languages may be used to implement theteachings of the disclosure as described herein.

The present disclosure may be provided as a computer program product, orsoftware, that may include a machine-readable medium having storedthereon instructions, which may be used to program a computer system (orother electronic devices) to perform a process according to the presentdisclosure. A machine-readable medium includes any mechanism for storinginformation in a form readable by a machine (e.g., a computer). Forexample, a machine-readable (e.g., computer-readable) medium includes amachine (e.g., a computer) readable storage medium such as a read onlymemory (“ROM”), random access memory (“RAM”), magnetic disk storagemedia, optical storage media, flash memory devices, etc.

In the foregoing disclosure, implementations of the disclosure have beendescribed with reference to specific example implementations thereof. Itwill be evident that various modifications may be made thereto withoutdeparting from the broader spirit and scope of implementations of thedisclosure as set forth in the following claims. The disclosure anddrawings are, accordingly, to be regarded in an illustrative senserather than a restrictive sense.

What is claimed is:
 1. A computer-implemented method for inferringinformation about a product, comprising: determining a formattingconvention that input data is structured in accordance with, wherein theinput data is related to a shippable product; determining a source forretrieving at least one product data attribute related to the shippableproduct based on the determined formatting convention; retrieving the atleast one product data attribute from the determined source; augmentingthe input data with the retrieved at least one product data attributefor a product data record for the shippable product from the determinedsource; ranking historical product data records in historical shipmentinformation for products that satisfy a similarity threshold with theproduct data record for the shippable product; feeding the product datarecord for the shippable product into one or more machine learning (ML)models to identify at least one predictive attribute that correspondswith identifying accurate product information; merging the product datarecord, the ranked historical product data records and the predictiveattribute to generate predictor data; formatting the predictor data toalign with one or more ML parameters; feeding the formatted predictordata into the one or more ML models to estimate additional product datafor one or more null fields in the product data record; updating theproduct data record for the shippable product with the predictedadditional data to generate an enriched product data record; feeding theenriched product data record into an ensemble of the one or more MLmodels to predict product code data based on one or more commerceclassification code taxonomies; and adding the predicted product codedata to the enriched product data record for the shippable product. 2.The method of claim 1, wherein determining a formatting convention thatinput data is structured in accordance with, wherein the input data isrelated to a shippable product; determining a source for retrieving atleast one product data attribute related to the shippable product basedon the determined formatting convention; and retrieving the at least oneproduct data attribute from the determined source, further comprises:determining that a format of at least an identifier portion of the inputdata corresponds to a global product identification convention;searching one or more data sources that includes relevant product datastored in relation to at least one of the identifier portion and theglobal product identification convention; and retrieving the relevantproduct data.
 3. The method of claim 1, wherein determining a formattingconvention that input data is structured in accordance with, wherein theinput data is related to a shippable product; determining a source forretrieving at least one product data attribute related to the shippableproduct based on the determined formatting convention; and retrievingthe at least one product data attribute from the determined source,further comprises: determining that a format of at least an identifierportion of the input data corresponds to a vendor-specific productidentification convention; searching one or more data sources thatidentifies an origin of the vendor-specific product identificationconvention; accessing a data location associated with the origin; andretrieving relevant product data from at least a portion of the datalocation that refers to the identifier portion of the input data.
 4. Themethod of claim 1, wherein determining a formatting convention thatinput data is structured in accordance with, wherein the input data isrelated to a shippable product; determining a source for retrieving atleast one product data attribute related to the shippable product basedon the determined formatting convention; and retrieving the at least oneproduct data attribute from the determined source, further comprises:determining that a format of at least an identifier portion of the inputdata identifies a data location; accessing the data location; andextracting product data from the data location.
 5. The method of claim1, wherein determining a formatting convention that input data isstructured in accordance with, wherein the input data is related to ashippable product; determining a source for retrieving at least oneproduct data attribute related to the shippable product based on thedetermined formatting convention; and retrieving the at least oneproduct data attribute from the determined source, further comprises:determining that a format of at least a portion of the input datacorresponds to uncategorized user-generated text describing the product;and performing a search to identify relevant product data in one or moredata sources that includes one or more text instances that matches theuser-generated text; and retrieving the relevant product data.
 6. Themethod of claim 1, wherein ranking historical product data records inhistorical shipment information comprises: generating at least oneproduct identifier based on the augmented product data record; accessinghistorical shipment information to identify historical product datarecords that include one or more fields that match the productidentifier; calculating a respective similarity score for each identifyhistorical product data record with respect to the augmented productdata record; and ranking the identified historical product data recordsaccording to the respective similarity scores.
 7. The method of claim 1,wherein feeding the product data record into one or more ML models toidentify at least one predictive attribute comprises: feeding theaugmented product data record into an ML model trained for named entityrecognition (NER) to identify the predictive attribute.
 8. The method ofclaim 1, wherein merging the product data record, the ranked historicalproduct data records and the predictive attribute to generate predictordata comprises: creating a merged record by combining the augmentedproduct data record, the ranked historical product data records and thepredictive attribute; and formatting the merged record to correspondwith one or more defined ML input parameters, wherein the ML inputparameters comprise at least: i) a respective source metadata for thedata in one or more fields (field data) of the merged record; ii) arespective confidence score corresponding to an accuracy of the fielddata; and iii) a record similarity score based on a comparison of themerged record and the input data.
 9. The method of claim 8, whereinfeeding the formatted predictor data into the one or more ML models toestimate additional product data for one or more null fields in theproduct data record comprises: feeding the formatted, merged record intothe one or more ML models, the one or more ML models trained for one ormore of: NER, classification, and regression.
 10. The method of claim 1,wherein the ensemble of the one or more ML models includes at least onemodel based on: logistic regression, random forests, gradient boosting,convolutional neural networks, bi-directional long-short term memorynetworks and transformer networks.
 11. A computer-implemented method forinferring information about a product, comprising: feeding a productdata record corresponding to at least a first product into one or moremachine learning (ML) models to identify at least one predictiveattribute that corresponds to product information not included in theproduct data record, wherein the predictive attribute corresponds toproduct data needed to ship the first product to a first destination;feeding the product data record and the predictive attribute,corresponding to product data needed to ship the first product to thefirst destination, into the one or more machine learning models toestimate additional data for one or more null fields in the product datarecord, wherein the null fields correspond to data needed to generatecompliant shipping information, and wherein the additional datacomprises data needed to generate compliant shipping information;updating the product data record with the estimated additional datacomprising data needed to generate compliant shipping information; andpredicting product code data by feeding the updated product data recordincluding the data needed to generate compliant shipping information,into an ensemble of one or more ML models, the product code data basedon one or more commerce classification code taxonomies.
 12. Thecomputer-implemented method of claim 11, wherein feeding a product datarecord, corresponding to at least the first product, into one or more MLmodels comprises: feeding the product data record, corresponding to atleast the first product, into an ML model trained for named entityrecognition (NER) to identify the predictive attribute corresponding toproduct data needed to ship the first product to the first destination;wherein the one or more machine learning models to estimate additionaldata comprise: one or more ML models trained for one or more of: NER,classification, and regression; and wherein the ensemble of the one ormore ML models includes at least one model based on: logisticregression, random forests, gradient boosting, convolutional neuralnetworks, bi-directional long-short term memory networks and transformernetworks.
 13. The computer-implemented method of claim 12, wherein theproduct code data is based on one or more commerce classification codetaxonomies comprising one of more of the following: Harmonized System(HS) code, Harmonized Tariff System (HTS) code, Export ControlClassification Number (ECCN) code, Schedule B code, and/or UnitedNations Standard Products and Services Code (UNSPSC).
 14. Thecomputer-implemented method of claim 11, wherein feeding the productdata record, corresponding to at least the first product, and thepredictive attribute, corresponding to product data needed to ship thefirst product to the first destination, into the one or more machinelearning models to estimate additional data for one or more null fields,corresponding to data needed to generate compliant shipping information,in the product data record comprises: creating a merged record based on:the product data record, corresponding to at least the first product,ranked historical product data records with fields similar to theproduct data record and the predictive attribute, corresponding toproduct data needed to ship the first product to the first destination;and formatting the merged record to correspond with one or more definedML input parameters, wherein the ML input parameters comprise at least:i) a respective source metadata for the data in one or more fields(field data) of the merged record; ii) a respective confidence scorecorresponding to an accuracy of the field data; and iii) a recordsimilarity score based on a comparison of the merged record and theinput data.
 15. The computer-implemented method of claim 13, furthercomprising: prior to creating the merged record: generating at least oneproduct identifier based on the product data record, corresponding to atleast the first product; and accessing historical shipment informationto identify the historical product data records of one or more productsthat include one or more fields that match the product identifier. 16.The computer-implemented method of claim 11, further comprising:receiving initial input data about the product; retrieving at least oneproduct data attribute based on a formatting convention of the inputdata; and augmenting the input data with the retrieved product dataattribute for the product data record, corresponding to at least thefirst product, that is to be fed into the one or more ML models toidentify at least one predictive attribute.
 17. A system comprising: oneor more processors; and a non-transitory computer readable mediumstoring a plurality of instructions, which when executed, cause the oneor more processors to: feed a product data record, corresponding to atleast the first product, into one or more machine learning (ML) modelsto identify at least one predictive attribute that corresponds toproduct information not included in the product data record, wherein thepredictive attribute corresponds to product data needed to ship thefirst product to a first destination; feed the product data record,corresponding to at least the first product, and the predictiveattribute, corresponding to product data needed to ship the firstproduct to the first destination, into the one or more machine learningmodels to estimate additional data for one or more null fields in theproduct data record, corresponding to at least the first product,wherein the null fields correspond to data needed to generate compliantshipping information, and wherein the additional data comprises dataneeded to generate compliant shipping information; update the productdata record, corresponding to at least the first product, with theestimated additional data comprising data needed to generate compliantshipping information; and predict product code data by feeding theupdated product data record into an ensemble of one or more ML models,the product code data based on one or more commerce classification codetaxonomies.
 18. The system of claim 17, wherein feed a product datarecord into one or more ML models comprises: feed the product datarecord into an ML model trained for named entity recognition (NER) toidentify the predictive attribute, corresponding to product data neededto ship the first product to the first destination; wherein the one ormore machine learning models to estimate additional data comprise: oneor more ML models trained for one or more of: NER, classification, andregression; and wherein the ensemble of the one or more ML modelsincludes at least one model based on: logistic regression, randomforests, gradient boosting, convolutional neural networks,bi-directional long-short term memory networks and transformer networks.19. The system of claim 18, wherein the product code data is based onone or more commerce classification code taxonomies comprising one ofmore of the following: Harmonized System (HS) code, Harmonized TariffSystem (HTS) code, Export Control Classification Number (ECCN) code,Schedule B code, and/or United Nations Standard Products and ServicesCode (UNSPSC).
 20. The system of claim 17, wherein feeding the productdata record, corresponding to at least the first product, and thepredictive attribute, corresponding to product data needed to ship thefirst product to the first destination, into the one or more machinelearning models to estimate additional data for one or more null fieldsin the product data record comprises: create a merged record based onthe product data record, corresponding to at least the first product,ranked historical product data records with fields similar to theproduct and the predictive attribute; and format the merged record tocorrespond with one or more defined ML input parameters, wherein the MLinput parameters comprise at least: i) a respective source metadata forthe data in one or more fields (field data) of the merged record; ii) arespective confidence score corresponding to an accuracy of the fielddata; and iii) a record similarity score based on a comparison of themerged record and the input data.
 21. The system of claim 19, furthercomprising: prior to create the merged record: generate at least oneproduct identifier based on the product data record, corresponding to atleast the first product; and access historical shipment information toidentify the historical product data records that include one or morefields that match the product identifier.
 22. The system of claim 17,further comprising: receive initial input data about the product;retrieve at least one product data attribute based on a formattingconvention of the input data; and augment the input data with theretrieved product data attribute for the product data record,corresponding to at least the first product, that is to be fed into theone or more ML models to identify at least one predictive attribute.